[INFO] fetching crate bstring 0.1.0...
[INFO] checking bstring-0.1.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate bstring 0.1.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate bstring 0.1.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bstring 0.1.0
[INFO] finished tweaking crates.io crate bstring 0.1.0
[INFO] tweaked toml for crates.io crate bstring 0.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ref_slice v1.2.1
[INFO] [stderr]   Downloaded assert_matches v1.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d0ada0db944f15509b249c4186535151fbc7504709cab1079974efd2a6b046c
[INFO] running `Command { std: "docker" "start" "-a" "9d0ada0db944f15509b249c4186535151fbc7504709cab1079974efd2a6b046c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d0ada0db944f15509b249c4186535151fbc7504709cab1079974efd2a6b046c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d0ada0db944f15509b249c4186535151fbc7504709cab1079974efd2a6b046c", kill_on_drop: false }`
[INFO] [stdout] 9d0ada0db944f15509b249c4186535151fbc7504709cab1079974efd2a6b046c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3be9c4e670a48f3fd42896a0800e0a3ecbb177c8cf14f60c284a75df9a279e7f
[INFO] running `Command { std: "docker" "start" "-a" "3be9c4e670a48f3fd42896a0800e0a3ecbb177c8cf14f60c284a75df9a279e7f", kill_on_drop: false }`
[INFO] [stderr]     Checking ref_slice v1.2.1
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking bstring v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]   --> src/bstring.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ref_slice::{ref_slice, ref_slice_mut};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]   --> src/bstring.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ref_slice::{ref_slice, ref_slice_mut};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]     --> src/bstring.rs:1555:9
[INFO] [stdout]      |
[INFO] [stdout] 1555 |         ref_slice(self).as_ref()
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]     --> src/bstring.rs:1603:9
[INFO] [stdout]      |
[INFO] [stdout] 1603 |         ref_slice_mut(self).as_mut()
[INFO] [stdout]      |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]   --> src/bstring.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ref_slice::{ref_slice, ref_slice_mut};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]   --> src/bstring.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ref_slice::{ref_slice, ref_slice_mut};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]     --> src/bstring.rs:1555:9
[INFO] [stdout]      |
[INFO] [stdout] 1555 |         ref_slice(self).as_ref()
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]     --> src/bstring.rs:1603:9
[INFO] [stdout]      |
[INFO] [stdout] 1603 |         ref_slice_mut(self).as_mut()
[INFO] [stdout]      |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `orig` is never read
[INFO] [stdout]    --> src/bfmt.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct Parser<'a> {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 103 |     orig: &'a bstr,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Parser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `orig` is never read
[INFO] [stdout]    --> src/bfmt.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct Parser<'a> {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 103 |     orig: &'a bstr,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Parser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] running `Command { std: "docker" "inspect" "3be9c4e670a48f3fd42896a0800e0a3ecbb177c8cf14f60c284a75df9a279e7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3be9c4e670a48f3fd42896a0800e0a3ecbb177c8cf14f60c284a75df9a279e7f", kill_on_drop: false }`
[INFO] [stdout] 3be9c4e670a48f3fd42896a0800e0a3ecbb177c8cf14f60c284a75df9a279e7f
[INFO] checking bstring-0.1.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate bstring 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate bstring 0.1.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bstring 0.1.0
[INFO] finished tweaking crates.io crate bstring 0.1.0
[INFO] tweaked toml for crates.io crate bstring 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3322c0373d42078c02a5837defdd15453bf4b44294e9f95e7b776d29ab721479
[INFO] running `Command { std: "docker" "start" "-a" "3322c0373d42078c02a5837defdd15453bf4b44294e9f95e7b776d29ab721479", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3322c0373d42078c02a5837defdd15453bf4b44294e9f95e7b776d29ab721479", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3322c0373d42078c02a5837defdd15453bf4b44294e9f95e7b776d29ab721479", kill_on_drop: false }`
[INFO] [stdout] 3322c0373d42078c02a5837defdd15453bf4b44294e9f95e7b776d29ab721479
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e8bbb95c54f0e02290f9612fa5a50f2f4b71bee897c5138752376d9e227a0b69
[INFO] running `Command { std: "docker" "start" "-a" "e8bbb95c54f0e02290f9612fa5a50f2f4b71bee897c5138752376d9e227a0b69", kill_on_drop: false }`
[INFO] [stderr]     Checking ref_slice v1.2.1
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking bstring v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bfmt.rs:178:51
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 Some(n) => (Item::Name(&self.rest[1..n]), n + 1),
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bfmt.rs:197:32
[INFO] [stdout]     |
[INFO] [stdout] 197 |         self.rest = &self.rest[end..];
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bstring.rs:548:34
[INFO] [stdout]     |
[INFO] [stdout] 548 |         self.bytes.get_unchecked(start..end).as_ref()
[INFO] [stdout]     |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bstring.rs:560:38
[INFO] [stdout]     |
[INFO] [stdout] 560 |         self.bytes.get_unchecked_mut(start..end).as_mut()
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bstring.rs:657:15
[INFO] [stdout]     |
[INFO] [stdout] 657 |         &self[i..j]
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bstring.rs:670:15
[INFO] [stdout]     |
[INFO] [stdout] 670 |         &self[i..]
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bstring.rs:708:51
[INFO] [stdout]     |
[INFO] [stdout] 708 |             |(start, end)| (&self[..start], &self[end..]))
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bstring.rs:733:51
[INFO] [stdout]     |
[INFO] [stdout] 733 |             |(start, end)| (&self[..start], &self[end..]))
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bstring.rs:1099:34
[INFO] [stdout]      |
[INFO] [stdout] 1099 |         self.bytes = &self.bytes[end..];
[INFO] [stdout]      |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1250:43
[INFO] [stdout]      |
[INFO] [stdout] 1250 |             Some(&self.matcher.haystack()[self.start..self.end])
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1265:37
[INFO] [stdout]      |
[INFO] [stdout] 1265 |                 let elt = &haystack[self.start..a];
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1292:37
[INFO] [stdout]      |
[INFO] [stdout] 1292 |                 let elt = &haystack[b..self.end];
[INFO] [stdout]      |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1298:32
[INFO] [stdout]      |
[INFO] [stdout] 1298 |                 Some(&haystack[self.start..self.end])
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1409:61
[INFO] [stdout]      |
[INFO] [stdout] 1409 |         self.0.next_match().map(|(a, b)| &self.0.haystack()[a..b])
[INFO] [stdout]      |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1414:66
[INFO] [stdout]      |
[INFO] [stdout] 1414 |         self.0.next_match_back().map(|(a, b)| &self.0.haystack()[a..b])
[INFO] [stdout]      |                                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1453:55
[INFO] [stdout]      |
[INFO] [stdout] 1453 |             |(start, end)| (start, &self.0.haystack()[start..end]))
[INFO] [stdout]      |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1459:55
[INFO] [stdout]      |
[INFO] [stdout] 1459 |             |(start, end)| (start, &self.0.haystack()[start..end]))
[INFO] [stdout]      |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bstring.rs:1508:34
[INFO] [stdout]      |
[INFO] [stdout] 1508 |         &self.matcher.haystack()[self.start..]
[INFO] [stdout]      |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1549:39
[INFO] [stdout]      |
[INFO] [stdout] 1549 |         Some(&self.matcher.haystack()[start..end])
[INFO] [stdout]      |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:562:31
[INFO] [stdout]     |
[INFO] [stdout] 562 |             self == &haystack[haystack.len() - self.len()..]
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:630:37
[INFO] [stdout]     |
[INFO] [stdout] 630 |                 match self.haystack[pos..].iter().next() {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pattern.rs:875:43
[INFO] [stdout]     |
[INFO] [stdout] 875 |         if &needle[..crit_pos] == &needle[period.. period + crit_pos] {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pattern.rs:973:22
[INFO] [stdout]     |
[INFO] [stdout] 973 |             for i in start..needle.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pattern.rs:985:23
[INFO] [stdout]     |
[INFO] [stdout] 985 |             for i in (start..self.crit_pos).rev() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/pattern.rs:1057:23
[INFO] [stdout]      |
[INFO] [stdout] 1057 |             for i in (0..crit).rev() {
[INFO] [stdout]      |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/pattern.rs:1070:22
[INFO] [stdout]      |
[INFO] [stdout] 1070 |             for i in self.crit_pos_back..needle_end {
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bfmt.rs:178:51
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 Some(n) => (Item::Name(&self.rest[1..n]), n + 1),
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bfmt.rs:197:32
[INFO] [stdout]     |
[INFO] [stdout] 197 |         self.rest = &self.rest[end..];
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bstring.rs:548:34
[INFO] [stdout]     |
[INFO] [stdout] 548 |         self.bytes.get_unchecked(start..end).as_ref()
[INFO] [stdout]     |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bstring.rs:560:38
[INFO] [stdout]     |
[INFO] [stdout] 560 |         self.bytes.get_unchecked_mut(start..end).as_mut()
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bstring.rs:657:15
[INFO] [stdout]     |
[INFO] [stdout] 657 |         &self[i..j]
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bstring.rs:670:15
[INFO] [stdout]     |
[INFO] [stdout] 670 |         &self[i..]
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bstring.rs:708:51
[INFO] [stdout]     |
[INFO] [stdout] 708 |             |(start, end)| (&self[..start], &self[end..]))
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bstring.rs:733:51
[INFO] [stdout]     |
[INFO] [stdout] 733 |             |(start, end)| (&self[..start], &self[end..]))
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bstring.rs:1099:34
[INFO] [stdout]      |
[INFO] [stdout] 1099 |         self.bytes = &self.bytes[end..];
[INFO] [stdout]      |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1250:43
[INFO] [stdout]      |
[INFO] [stdout] 1250 |             Some(&self.matcher.haystack()[self.start..self.end])
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1265:37
[INFO] [stdout]      |
[INFO] [stdout] 1265 |                 let elt = &haystack[self.start..a];
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1292:37
[INFO] [stdout]      |
[INFO] [stdout] 1292 |                 let elt = &haystack[b..self.end];
[INFO] [stdout]      |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1298:32
[INFO] [stdout]      |
[INFO] [stdout] 1298 |                 Some(&haystack[self.start..self.end])
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1409:61
[INFO] [stdout]      |
[INFO] [stdout] 1409 |         self.0.next_match().map(|(a, b)| &self.0.haystack()[a..b])
[INFO] [stdout]      |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1414:66
[INFO] [stdout]      |
[INFO] [stdout] 1414 |         self.0.next_match_back().map(|(a, b)| &self.0.haystack()[a..b])
[INFO] [stdout]      |                                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1453:55
[INFO] [stdout]      |
[INFO] [stdout] 1453 |             |(start, end)| (start, &self.0.haystack()[start..end]))
[INFO] [stdout]      |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1459:55
[INFO] [stdout]      |
[INFO] [stdout] 1459 |             |(start, end)| (start, &self.0.haystack()[start..end]))
[INFO] [stdout]      |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bstring.rs:1508:34
[INFO] [stdout]      |
[INFO] [stdout] 1508 |         &self.matcher.haystack()[self.start..]
[INFO] [stdout]      |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:1549:39
[INFO] [stdout]      |
[INFO] [stdout] 1549 |         Some(&self.matcher.haystack()[start..end])
[INFO] [stdout]      |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:2171:25
[INFO] [stdout]      |
[INFO] [stdout] 2171 |         assert_eq!(data[0..6].find("ab"), Some(0));
[INFO] [stdout]      |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:2172:25
[INFO] [stdout]      |
[INFO] [stdout] 2172 |         assert_eq!(data[2..6].find("ab"), Some(3 - 2));
[INFO] [stdout]      |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/bstring.rs:2173:25
[INFO] [stdout]      |
[INFO] [stdout] 2173 |         assert_eq!(data[2..4].find("ab"), None);
[INFO] [stdout]      |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:562:31
[INFO] [stdout]     |
[INFO] [stdout] 562 |             self == &haystack[haystack.len() - self.len()..]
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:630:37
[INFO] [stdout]     |
[INFO] [stdout] 630 |                 match self.haystack[pos..].iter().next() {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pattern.rs:875:43
[INFO] [stdout]     |
[INFO] [stdout] 875 |         if &needle[..crit_pos] == &needle[period.. period + crit_pos] {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pattern.rs:973:22
[INFO] [stdout]     |
[INFO] [stdout] 973 |             for i in start..needle.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pattern.rs:985:23
[INFO] [stdout]     |
[INFO] [stdout] 985 |             for i in (start..self.crit_pos).rev() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/pattern.rs:1057:23
[INFO] [stdout]      |
[INFO] [stdout] 1057 |             for i in (0..crit).rev() {
[INFO] [stdout]      |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/pattern.rs:1070:22
[INFO] [stdout]      |
[INFO] [stdout] 1070 |             for i in self.crit_pos_back..needle_end {
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]   --> src/bstring.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ref_slice::{ref_slice, ref_slice_mut};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]   --> src/bstring.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ref_slice::{ref_slice, ref_slice_mut};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]     --> src/bstring.rs:1555:9
[INFO] [stdout]      |
[INFO] [stdout] 1555 |         ref_slice(self).as_ref()
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]     --> src/bstring.rs:1603:9
[INFO] [stdout]      |
[INFO] [stdout] 1603 |         ref_slice_mut(self).as_mut()
[INFO] [stdout]      |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]   --> src/bstring.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ref_slice::{ref_slice, ref_slice_mut};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]   --> src/bstring.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ref_slice::{ref_slice, ref_slice_mut};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]     --> src/bstring.rs:1555:9
[INFO] [stdout]      |
[INFO] [stdout] 1555 |         ref_slice(self).as_ref()
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]     --> src/bstring.rs:1603:9
[INFO] [stdout]      |
[INFO] [stdout] 1603 |         ref_slice_mut(self).as_mut()
[INFO] [stdout]      |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `orig` is never read
[INFO] [stdout]    --> src/bfmt.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct Parser<'a> {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 103 |     orig: &'a bstr,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Parser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]     --> src/bstring.rs:1819:17
[INFO] [stdout]      |
[INFO] [stdout] 1819 | impl ops::Index<Range<usize>> for BString {
[INFO] [stdout]      |                 ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]     --> src/bstring.rs:1822:24
[INFO] [stdout]      |
[INFO] [stdout] 1822 |     fn index(&self, r: Range<usize>) -> &bstr {
[INFO] [stdout]      |                        ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]     --> src/bstring.rs:1827:17
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl ops::Index<RangeFrom<usize>> for BString {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]     --> src/bstring.rs:1830:24
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn index(&self, r: RangeFrom<usize>) -> &bstr {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]     --> src/bstring.rs:1857:20
[INFO] [stdout]      |
[INFO] [stdout] 1857 | impl ops::IndexMut<Range<usize>> for BString {
[INFO] [stdout]      |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]     --> src/bstring.rs:1858:32
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn index_mut(&mut self, r: Range<usize>) -> &mut bstr {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]     --> src/bstring.rs:1863:20
[INFO] [stdout]      |
[INFO] [stdout] 1863 | impl ops::IndexMut<RangeFrom<usize>> for BString {
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]     --> src/bstring.rs:1864:32
[INFO] [stdout]      |
[INFO] [stdout] 1864 |     fn index_mut(&mut self, r: RangeFrom<usize>) -> &mut bstr {
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]     --> src/bstring.rs:1889:17
[INFO] [stdout]      |
[INFO] [stdout] 1889 | impl ops::Index<Range<usize>> for bstr {
[INFO] [stdout]      |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]     --> src/bstring.rs:1892:24
[INFO] [stdout]      |
[INFO] [stdout] 1892 |     fn index(&self, r: Range<usize>) -> &bstr {
[INFO] [stdout]      |                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]     --> src/bstring.rs:1897:17
[INFO] [stdout]      |
[INFO] [stdout] 1897 | impl ops::Index<RangeFrom<usize>> for bstr {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]     --> src/bstring.rs:1900:24
[INFO] [stdout]      |
[INFO] [stdout] 1900 |     fn index(&self, r: RangeFrom<usize>) -> &bstr {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]     --> src/bstring.rs:1927:20
[INFO] [stdout]      |
[INFO] [stdout] 1927 | impl ops::IndexMut<Range<usize>> for bstr {
[INFO] [stdout]      |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]     --> src/bstring.rs:1928:32
[INFO] [stdout]      |
[INFO] [stdout] 1928 |     fn index_mut(&mut self, r: Range<usize>) -> &mut bstr {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]     --> src/bstring.rs:1933:20
[INFO] [stdout]      |
[INFO] [stdout] 1933 | impl ops::IndexMut<RangeFrom<usize>> for bstr {
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]     --> src/bstring.rs:1934:32
[INFO] [stdout]      |
[INFO] [stdout] 1934 |     fn index_mut(&mut self, r: RangeFrom<usize>) -> &mut bstr {
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 16 previous errors; 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bstring` (lib) due to 17 previous errors; 31 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `orig` is never read
[INFO] [stdout]    --> src/bfmt.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct Parser<'a> {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 103 |     orig: &'a bstr,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Parser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 34 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e8bbb95c54f0e02290f9612fa5a50f2f4b71bee897c5138752376d9e227a0b69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8bbb95c54f0e02290f9612fa5a50f2f4b71bee897c5138752376d9e227a0b69", kill_on_drop: false }`
[INFO] [stdout] e8bbb95c54f0e02290f9612fa5a50f2f4b71bee897c5138752376d9e227a0b69
